.TH syncsnoop 8  "2015-08-18" "USER COMMANDS"
.SH NAME
syncsnoop \- Trace sync() syscall. Uses Linux eBPF/bcc.
.SH SYNOPSIS
.B syncsnoop
.SH DESCRIPTION
syncsnoop traces calls to sync(), which flushes file system buffers to
storage devices. These calls can cause performance perturbations, and it can
be useful to know if they are happening and how frequently.

This works by tracing the kernel sys_sync() function using dynamic tracing, and
will need updating to match any changes to this function.

This makes use of a Linux 4.4 feature (bpf_perf_event_output());
for kernels older than 4.4, see the version under tools/old,
which uses an older mechanism.

This program is also a basic example of eBPF/bcc.

Since this uses BPF, only the root user can use this tool.
.SH REQUIREMENTS
CONFIG_BPF and bcc.
.SH EXAMPLES
.TP
Trace calls to sync():
#
.B syncsnoop
.SH FIELDS
.TP
TIME(s)
Time of the call, in seconds.
.TP
CALL
Call traced.
.SH OVERHEAD
This traces the kernel sync function and prints output for each event. As the
rate of this is generally expected to be low (<< 100/s), the overhead is also
expected to be negligible.
.SH SOURCE
This is from bcc.
.IP
https://github.com/iovisor/bcc
.PP
Also look in the bcc distribution for a companion _examples.txt file containing
example usage, output, and commentary for this tool.
.SH OS
Linux
.SH STABILITY
Unstable - in development.
.SH AUTHOR
Brendan Gregg, original BCC Python version
Tiago Ilieve, CO-RE version
.SH SEE ALSO
iostat(1)
